home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PsL Monthly 1993 December
/
PSL Monthly Shareware CD-ROM (December 1993).iso
/
prgmming
/
dos
/
pascal
/
prg_bar.exe
/
TPROGBAR.H
< prev
Wrap
C/C++ Source or Header
|
1992-08-29
|
2KB
|
58 lines
#if !defined( __TPROGBAR_H )
#define __TPROGBAR_H
#if !defined( __MATH_H )
#include <math.h>
#endif // __MATH_H
#define DISPLAYLEN 51 // Length (width) of calculator display
enum TCalcState { csFirst = 1, csValid, csError };
const int cmCalcButton = 200;
class TProgressBar : public TView
{
protected:
char backChar; // background character
char percChar; // percentage character
char * bar; // thermometer bar
unsigned int maxWidth; // maximum width of thermometer bar
unsigned int oldWidth; // previous width
unsigned int curWidth; // current width of percentage bar
double chPercent; // percent per character
unsigned long maxIter; // maximum iteration
unsigned long curIter; // current iteration
unsigned int oldPercent; // old percentage complete
unsigned int curPercent; // current percentage complete
void calcPercent ( ); // calculate new percentage
public:
TProgressBar(TRect& r, unsigned long iters );
~TProgressBar();
virtual void handleEvent(TEvent& event);
virtual void draw();
virtual void term ( ); // clear the thermometer bar display
inline unsigned long getMaxIter ( ); // get the maximum iteration
inline unsigned long getCurIter ( ); // get the current iteration
// change the percentage ( calls the update function )
void setMaxIter ( unsigned long newMax ); // set the maximum iteration
void setCurIter ( unsigned long newCur ); // set the current iteration
private:
TCalcState status;
virtual void mainProcess( void );
};
#endif // __TPROGBAR_H
/*
class spreadIt : public TProgressBar
{
spreadIt(TRect& r, unsigned long iters ) :
TProgressBar( r , iters ){};
virtual void mainProcess( void );
};
*/